package ar.fiuba.tp7552.buildadmin.dao.impl;

import java.util.Collection;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import ar.fiuba.tp7552.buildadmin.dao.GenericDaoHibernate;
import ar.fiuba.tp7552.buildadmin.dao.PlanDao;
import ar.fiuba.tp7552.buildadmin.model.builds.Edificio;
import ar.fiuba.tp7552.buildadmin.model.planes.Plan;
import ar.fiuba.tp7552.buildadmin.util.Cast;

public class PlanDaoImpl extends GenericDaoHibernate<Plan, Long> implements PlanDao {

	public PlanDaoImpl() {
		super(Plan.class);
	}
	
	public Collection<Plan> find(Edificio edificio) {
		Session session = this.getHibernateSession();
		
		Criteria crit = session.createCriteria(Plan.class)
			.add(Restrictions.eq("edificio", edificio));
		// TODO filtrar los planes para que queden solo los vigentes.
		
		
		return Cast.list(Plan.class, crit.list());
	}
}
